// 修改react脚手架中的默认webpack中配置，在该文件中 添加额外的配置，覆盖掉node——nodules中webpack的默认配置，达到修改webpack的目的
const {
    override,
    addDecoratorsLegacy,
    disableEsLint,
    addBundleVisualizer,
    addWebpackAlias,
    adjustWorkbox
} = require("customize-cra");
const path = require("path");

module.exports = override(
    // enable legacy decorators babel plugin
    //addDecoratorsLegacy(),

    // disable eslint in webpack
    disableEsLint(),

    // add webpack bundle visualizer if BUNDLE_VISUALIZE flag is enabled
    // process.env.BUNDLE_VISUALIZE == 1 && addBundleVisualizer(),

    // add an alias for "ag-grid-react" imports
    // __dirname是nodejs中的一个全局变量，表示当前文件所在的目录
    addWebpackAlias({
        ["@"]: path.resolve(__dirname, "src/shared/agGridWrapper.js")
    }),

    // adjust the underlying workbox
    adjustWorkbox(wb =>
        Object.assign(wb, {
            skipWaiting: true,
            exclude: (wb.exclude || []).concat("index.html")
        })
    )
)